package com.weds.data_sync.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.weds.data_sync.pojo.dto.PageDto;
import com.weds.data_sync.pojo.dto.ScriptDto;
import com.weds.data_sync.pojo.entity.DataSyncScriptDO;
import com.weds.data_sync.util.JsonData;

import java.io.IOException;
import java.util.List;

/**
 * <p>
 * 脚本列表 服务类
 * </p>
 *
 * @author lhw
 * @since 2023-12-29
 */
public interface ScriptService extends IService<DataSyncScriptDO> {

    Integer add(ScriptDto scriptDto);

    Integer del(List<Long> ids);

    Integer update(ScriptDto scriptDto);

    JsonData.PageData<DataSyncScriptDO> queryData(PageDto pageDto);

    void runScriptNativeById(Long scriptId) throws IOException;

    void runScriptNative(DataSyncScriptDO scriptDO) throws IOException;

    void runScriptNativeAsync(DataSyncScriptDO scriptDO) throws IOException;

}
